1. Field of the Invention
The present invention generally relates to communication systems and in particular to receivers used in communication systems.
2. Description of the Related Art
As communication technology evolves, communication systems are able to convey (i.e., transmit and/or receive) information at higher rates. In wireless communication systems, the bandwidth for the system has been set by standards bodies and government organizations. In order to achieve higher data throughput for third generation wireless systems, Multiple Input Multiple Output (MIMO) antenna systems are being considered. MIMO systems for high data bandwidth are based on the BLAST (Bell Laboratories Layered Space Time) concept which uses multiple transmit antennas to transmit different transmit streams in the same spectrum, and takes advantage of multipath channels with an array of receiver antennas to recover the independent streams. One emerging standard for high speed 3G (Third Generation) wireless communications for data is the 3GPP (Third Generation Partnership Program) High Speed Downlink Packet Access (HSDPA) standard. Wireless 3GPP systems have downlinks that convey information to subscribers at relatively high rates. In MIMO antenna systems, information is transmitted and received independently and simultaneously by more than one antenna thus allowing for relatively high system throughput. MIMO is one proposal being considered for achieving the high data rates for HSDPA. System throughput is typically defined as the total amount of information that is transmitted and received in a system for a defined period of time.
One of the first methods developed for detecting MIMO transmitted symbols was the V-BLAST receiver (Vertical BLAST). In order to receive multiple signals using multiple antennas, the V-BLAST receiver decorrelates multiple streams of information. In VBLAST, the decorrelation of multiple streams of information symbols is essentially an iterative cancellation method whereby the stream having the greatest amount of energy is identified and then is cancelled. This cancellation is done repeatedly until all of the streams have been identified and can thus be properly decoded using well known decoding techniques. The V-BLAST detector is used in BLAST systems containing relatively large number of antennas. For example, V-BLAST is used in a BLAST system having 16 antennas. Although V-BLAST is used for systems with a relatively large number of antennas, it is not an “optimal” receiver because other types of receivers have better performance.
A maximum likelihood (ML) detector looks at all possible combinations of data that can be transmitted for a time interval, and then selects the data set which has the highest probability of being transmitted given the observation of received symbols at the receiver. In a typical wireless communication system that uses digital modulation, the information is transmitted as symbols representing digital information. For example, in a wireless communication system that uses QPSK (Quadrature Phase Shift Keying) a symbol represents two bits of information which can be mapped in a complex constellation plane represented by the I (in-phase) and Q (quadrature phase) channels. The in-phase and quadrature-phase channels are orthogonal to each other.
Referring to FIG. 1, three different complex constellation planes for three different digital modulation schemes are shown. As stated earlier, for QPSK, each symbol represents two bits of information and each symbol has an in-phase component and a quadrature-phase component. Further, each symbol has a complex amplitude that not only describes the magnitude of the symbol but the phase of the symbol with respect to other symbols. For 8-phase Phase Shift Keying (8PSK) each symbol has a complex amplitude and represents three bits of information. For 16 Quadrature Amplitude Modulation (16-QAM), each symbol represents four bits of information and each such symbol also has a complex amplitude. For a BLAST system that uses 4 transmit antennas with QPSK modulation, the system transmits a total of eight bits simultaneously over a symbol period. The symbol period is the amount of time elapsed during the transmission of a symbol. The relatively large gain in capacity of a MIMO system is that it is transmitting multiple constellation points from multiple constellations simultaneously in the same bandwidth whereas a single transmit antenna can only send one constellation point.
In order for an ML detector to compute the highest probability symbol, it must have an estimate of the wireless channel in which the symbols were transmitted. In the case of a MIMO system, the estimate of the channel is a matrix that represents the channels for all possible paths between every transmit and every receive antenna. For example, a 4 transmit by 4 receive MIMO system has 16 individual channel estimations in the matrix. The channel matrix is a matrix containing values that mathematically characterize the communication channel through which the symbols propagate. In many wireless communication systems, a pilot signal or some other reference signal is periodically transmitted over the various communication channels of the system. The pilot signal is either transmitted over its own channel or it can be transmitted over traffic channels used by subscribers of a communication system. The pilot signal's parameters such as amplitude, phase, frequency characteristics are known prior to transmission. After the pilot signal is transmitted and received, its parameters are measured and any modification of any of its parameters is attributed to the communication channel. Thus a channel matrix representing the characteristics of the channel for all of the possible paths of signals transmitted from 4 transmit antennas to 4 receive antennas is generated.
Typically, the assumptions that the communication channel is flat-fading and relatively stable are made because for many communication channels such assumptions are not only reasonable, but are relatively accurate. A flat-fading channel is a communication channel that has no memory; that is, when a signal is transmitted, the signal is eventually received and there exists no delayed replica of the signal. Even in the presence of frequency selective channels with memory, there are techniques to convert the received signal so that the input to the ML detector looks like a flat fading channel. A stable channel is a communication channel whose characteristics change relatively slowly so that the channel matrix is updated at the same relatively slow rate.
It is well known in communication theory that when a signal x (where x is a vector of one or more symbols representing a grouping of bits) is transmitted through a communication channel having a channel matrix H, the resulting symbol received is Hx. In the 4-transmit/receive antenna case where each symbol represents two bits of information (QPSK modulation), the receiver receives symbols representing 8 bits from the 4 transmit antennas. An ML detector generates all possible candidates Hx for all possible values of x. Thus, when x represents an 8-bit grouping, there exists 256 (or 28) possible Hx candidates assuming that H does not change during the symbol time period; i.e., each of the 256 x groupings is multiplied to H. The ML detector generates the 256 Hx values and compares each such value to the actual symbol received, say r. The difference between Hx and r is referred to as a cost function, J where J=∥r−Hx∥2 and the Hx that generates the lowest J from the 256 comparisons is selected as the best candidate. Thus, a cost function is generated as a result of the ML detection process. The cost function is typically the difference between an actual symbol received and an estimated symbol generated from the channel matrix. The candidate with the lowest cost function is typically selected as the best candidate.
A further refinement of the ML detector is to provide a measure of the confidence in the selection of the highest probability path. This can significantly improve the performance of soft-input forward error correcting codes that are typically used after a detector. The devices that perform the soft input forward error correcting codes use soft information in the processing of received information. In general, soft information is probability data on received information where such data give an indication of the confidence that is to be attributed to the value of the received information. The error correction coding and other channel coding techniques are well known coding schemes used in communication systems in which bits are added to a block of information or information grouping to be transmitted over the communication channels of the communication system. The added bits introduce redundancy to the transmitted bit groupings thus enabling a receiver to better decode the received information and error correct the received information. In many cases, certain bit values are changed when the error correcting coding and the channel coding are performed in light of the soft information. The ML detector provides A Posteriori Probability (APP) information on each received bit. For example, if the cost function for the next closest ML candidate is high, the detector is highly confident in its decision. However, if the next closest candidate is close to the cost function for the winning candidate, then the detector is not very confident of its decision. The soft-input forward error code detector can use the information to help reverse bit decisions on low confidence data if they are found to be probabilistically incorrect. Thus, in general an ML-APP detector is a receiver that selects a symbol candidate as the best candidate from a set of all possible candidates and generates soft information for each of the received symbols.
Because the ML detector is typically implemented with software and because a relatively large number of comparisons (comparing generated candidates to received symbols) is made during a symbol period, the use of an ML detector becomes virtually impractical for relatively high information rate systems such as communication systems that comply with the 3GPP standard. The difficulty in the practical use of an ML detector is further compounded in MIMO systems where the number of candidates used to perform the ML detection increases at an exponential rate. Even for the 4-transmit/receive antenna case using QPSK, the software implementation of the ML detector may not be able to perform the 256 comparisons sufficiently quickly to meet the processing speed requirements of the communication system. In particular, in wireless communication systems complying with the 3GPP standard, the increased rate at which information is conveyed in such systems makes the use of software implemented ML-APP detectors even more impractical. For higher information rates, more symbols are conveyed during a defined period of time and thus the amount of time available to process a symbol is reduced accordingly. Software implemented ML-APP detectors process information at speeds which are functions of a processor speed and processing speeds of the programming language used to program the processor.